<!DOCTYPE html>
<html class="client-nojs vector-feature-night-mode-disabled vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-sticky-header-enabled" lang="en" dir="ltr"><head>
<meta charset="UTF-8">
<title>Write amplification</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="canonical" href="https://en.wikipedia.org/wiki/Write_amplification"> <link href="./mw/ext.cite.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/ext.math.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.icons.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.search.codex.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/user.styles.css" rel="stylesheet" type="text/css">
<meta name="ResourceLoaderDynamicStyles" content="">
<link rel="stylesheet" type="text/css" href="./mw/site.styles.css">
<link rel="stylesheet" type="text/css" href="./mw/noscript.css">
<link rel="stylesheet" type="text/css" href="./footer.css">
<link rel="stylesheet" type="text/css" href="./vector-2022.css">
</head>
<body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject page-Write_amplification rootpage-Write_amplification skin-vector-2022 action-view">
<div class="mw-page-container">
<div class="mw-page-container-inner">
<div class="mw-content-container">
<main id="content" class="mw-body">
<header class="mw-body-header vector-page-titlebar">
<h1 id="firstHeading" class="firstHeading mw-first-heading">
<span id="openzim-page-title" class="mw-page-title-main"><span class="mw-page-title-main">Write amplification</span></span>
</h1>
</header>
<a id="top"></a>
<div id="bodyContent" class="vector-body ve-init-mw-desktopArticleTarget-targetContainer" aria-labelledby="firstHeading" data-mw-ve-target-container="">
<div id="mw-content-text" class="mw-body-content mw-content-ltr" lang="en" dir="ltr"><div class="mw-content-ltr mw-parser-output" lang="en" dir="ltr">
<style data-mw-deduplicate="TemplateStyles:r1251242444">
/* start https://en.wikipedia.org/ */
.mw-parser-output .ambox{border:1px solid #a2a9b1;border-left:10px solid #36c;background-color:#fbfbfb;box-sizing:border-box}.mw-parser-output .ambox+link+.ambox,.mw-parser-output .ambox+link+style+.ambox,.mw-parser-output .ambox+link+link+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+style+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+link+.ambox{margin-top:-1px}html body.mediawiki .mw-parser-output .ambox.mbox-small-left{margin:4px 1em 4px 0;overflow:hidden;width:238px;border-collapse:collapse;font-size:88%;line-height:1.25em}.mw-parser-output .ambox-speedy{border-left:10px solid #b32424;background-color:#fee7e6}.mw-parser-output .ambox-delete{border-left:10px solid #b32424}.mw-parser-output .ambox-content{border-left:10px solid #f28500}.mw-parser-output .ambox-style{border-left:10px solid #fc3}.mw-parser-output .ambox-move{border-left:10px solid #9932cc}.mw-parser-output .ambox-protection{border-left:10px solid #a2a9b1}.mw-parser-output .ambox .mbox-text{border:none;padding:0.25em 0.5em;width:100%}.mw-parser-output .ambox .mbox-image{border:none;padding:2px 0 2px 0.5em;text-align:center}.mw-parser-output .ambox .mbox-imageright{border:none;padding:2px 0.5em 2px 0;text-align:center}.mw-parser-output .ambox .mbox-empty-cell{border:none;padding:0;width:1px}.mw-parser-output .ambox .mbox-image-div{width:52px}@media(min-width:720px){.mw-parser-output .ambox{margin:0 10%}}@media print{body.ns-0 .mw-parser-output .ambox{display:none!important}}
/* end https://en.wikipedia.org/ */
</style>
<p><b>Write amplification</b> (<b>WA</b>) is an undesirable phenomenon associated with <a href="Flash_memory" title="Flash memory">flash memory</a> and <a href="Solid-state_drive" title="Solid-state drive">solid-state drives</a> (SSDs) where the actual amount of information physically written to the storage media is a multiple of the logical amount intended to be written.
</p><p>Because flash memory must be erased before it can be rewritten, with much coarser granularity of the erase operation when compared to the write operation,<sup id="cite_ref-3" class="reference"><a href="#cite_note-3"><span class="cite-bracket">[</span>a<span class="cite-bracket">]</span></a></sup> the process to perform these operations results in moving (or rewriting) user data and <a href="Metadata" title="Metadata">metadata</a> more than once. Thus, rewriting some data requires an already-used-portion of flash to be read, updated, and written to a new location, together with initially erasing the new location if it was previously used. Due to the way flash works, much larger portions of flash must be erased and rewritten than actually required by the amount of new data. This multiplying effect increases the number of writes required over the life of the SSD, which shortens the time it can operate reliably. The increased writes also consume <a href="Bandwidth_(computing)" title="Bandwidth (computing)">bandwidth</a> to the flash memory, which reduces write performance to the SSD.<sup id="cite_ref-IBM_WA_1-1" class="reference"><a href="#cite_note-IBM_WA-1"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-K_Smith_4-0" class="reference"><a href="#cite_note-K_Smith-4"><span class="cite-bracket">[</span>3<span class="cite-bracket">]</span></a></sup> Many factors will affect the WA of an SSD; some can be controlled by the user and some are a direct result of the data written to and usage of the SSD.
</p><p><a href="Intel" title="Intel">Intel</a> and <a href="SiliconSystems" class="mw-redirect" title="SiliconSystems">SiliconSystems</a> (acquired by <a href="Western_Digital" title="Western Digital">Western Digital</a> in 2009) used the term <i>write amplification</i> in their papers and publications in 2008.<sup id="cite_ref-Lucchesi_5-0" class="reference"><a href="#cite_note-Lucchesi-5"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup> WA is typically measured by the ratio of writes committed to the flash memory to the writes coming from the host system. Without <a href="Data_compression" title="Data compression">compression</a>, WA cannot drop below one. Using compression, <a href="SandForce" title="SandForce">SandForce</a> has claimed to achieve a write amplification of 0.5,<sup id="cite_ref-Anand_WA_6-0" class="reference"><a href="#cite_note-Anand_WA-6"><span class="cite-bracket">[</span>5<span class="cite-bracket">]</span></a></sup> with best-case values as low as 0.14 in the SF-2281 controller.<sup id="cite_ref-7" class="reference"><a href="#cite_note-7"><span class="cite-bracket">[</span>6<span class="cite-bracket">]</span></a></sup>
</p>
<meta property="mw:PageProp/toc">
<div class="mw-heading mw-heading2"><h2 id="Basic_SSD_operation">Basic SSD operation</h2></div>
<style data-mw-deduplicate="TemplateStyles:r1236090951">
/* start https://en.wikipedia.org/ */
.mw-parser-output .hatnote{font-style:italic}.mw-parser-output div.hatnote{padding-left:1.6em;margin-bottom:0.5em}.mw-parser-output .hatnote i{font-style:normal}.mw-parser-output .hatnote+link+.hatnote{margin-top:-0.5em}@media print{body.ns-0 .mw-parser-output .hatnote{display:none!important}}
/* end https://en.wikipedia.org/ */
</style><div role="note" class="hatnote navigation-not-searchable">See also: <a href="Flash_memory" title="Flash memory">Flash memory</a> and <a href="Solid-state_drive" title="Solid-state drive">Solid-state drive</a></div>
<p>Due to the nature of flash memory's operation, data cannot be directly overwritten as it can in a <a href="Hard_disk_drive" title="Hard disk drive">hard disk drive</a>. When data is first written to an SSD, the <a href="Flash_memory#Principles_of_operation" title="Flash memory">cells</a> all start in an erased state so data can be written directly using <a href="Flash_memory#NAND_memories" title="Flash memory">pages</a> at a time (often 4–8 <a href="Kilobytes" class="mw-redirect" title="Kilobytes">kilobytes</a> (KB) in size). The <a href="Flash_controller" class="mw-redirect" title="Flash controller">SSD controller</a> on the SSD, which manages the flash memory and <a href="Interface_(computer_science)" class="mw-redirect" title="Interface (computer science)">interfaces</a> with the host system, uses a logical-to-physical mapping system known as <a href="Logical_block_addressing" title="Logical block addressing">logical block addressing</a> (LBA) that is part of the <a href="Flash_Translation_Layer" class="mw-redirect" title="Flash Translation Layer">flash translation layer</a> (FTL).<sup id="cite_ref-IBM_Hu_Haas_8-0" class="reference"><a href="#cite_note-IBM_Hu_Haas-8"><span class="cite-bracket">[</span>7<span class="cite-bracket">]</span></a></sup> When new data comes in replacing older data already written, the SSD controller will write the new data in a new location and update the logical mapping to point to the new physical location. The data in the former location is no longer valid, and will need to be erased before that location can be written to again.<sup id="cite_ref-IBM_WA_1-2" class="reference"><a href="#cite_note-IBM_WA-1"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-IBM_Perf_9-0" class="reference"><a href="#cite_note-IBM_Perf-9"><span class="cite-bracket">[</span>8<span class="cite-bracket">]</span></a></sup>
</p><p>Flash memory can be programmed and erased only a limited number of times. This is often referred to as the maximum number of <a href="Flash_memory#Memory_wear" title="Flash memory">program/erase cycles</a> (P/E cycles) it can sustain over the life of the flash memory. <a href="Single-level_cell" class="mw-redirect" title="Single-level cell">Single-level cell</a> (SLC) flash, designed for higher performance and longer endurance, can typically operate between 50,000 and 100,000 cycles. As of 2011, <a href="Multi-level_cell" title="Multi-level cell">multi-level cell</a> (MLC) flash is designed for lower cost applications and has a greatly reduced cycle count of typically between 3,000 and 5,000. Since 2013, <a href="Triple-level_cell" class="mw-redirect" title="Triple-level cell">triple-level cell</a> (TLC) (e.g., 3D NAND) flash has been available, with cycle counts dropping to 1,000 <a href="Program-erase_cycle" class="mw-redirect" title="Program-erase cycle">program-erase</a> (P/E) cycles. A lower write amplification is more desirable, as it corresponds to a reduced number of P/E cycles on the flash memory and thereby to an increased SSD life.<sup id="cite_ref-IBM_WA_1-3" class="reference"><a href="#cite_note-IBM_WA-1"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup> The wear of flash memory may also cause performance degrade, such as I/O speed degrade.
</p>
<div class="mw-heading mw-heading2"><h2 id="Calculating_the_value">Calculating the value</h2></div>
<p>Write amplification was always present in SSDs before the term was defined, but it was in 2008 that both Intel<sup id="cite_ref-Lucchesi_5-1" class="reference"><a href="#cite_note-Lucchesi-5"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-10" class="reference"><a href="#cite_note-10"><span class="cite-bracket">[</span>9<span class="cite-bracket">]</span></a></sup> and SiliconSystems started using the term in their papers and publications.<sup id="cite_ref-Zsolt_Silicon_Systems_11-0" class="reference"><a href="#cite_note-Zsolt_Silicon_Systems-11"><span class="cite-bracket">[</span>10<span class="cite-bracket">]</span></a></sup> All SSDs have a write amplification value and it is based on both what is currently being written and what was previously written to the SSD. In order to accurately measure the value for a specific SSD, the selected test should be run for enough time to ensure the drive has reached a <a href="Steady_state" title="Steady state">steady state</a> condition.<sup id="cite_ref-K_Smith_4-1" class="reference"><a href="#cite_note-K_Smith-4"><span class="cite-bracket">[</span>3<span class="cite-bracket">]</span></a></sup>
</p><p>A simple formula to calculate the write amplification of an SSD is:<sup id="cite_ref-IBM_WA_1-4" class="reference"><a href="#cite_note-IBM_WA-1"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-OCZ_WA_12-0" class="reference"><a href="#cite_note-OCZ_WA-12"><span class="cite-bracket">[</span>11<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-13" class="reference"><a href="#cite_note-13"><span class="cite-bracket">[</span>12<span class="cite-bracket">]</span></a></sup>
</p>
<dl><dd><span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle {\text{write amplification}}={\frac {\text{data written to the flash memory}}{\text{data written by the host}}}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mrow class="MJX-TeXAtom-ORD">
<mtext>write amplification</mtext>
</mrow>
<mo>=</mo>
<mrow class="MJX-TeXAtom-ORD">
<mfrac>
<mtext>data written to the flash memory</mtext>
<mtext>data written by the host</mtext>
</mfrac>
</mrow>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle {\text{write amplification}}={\frac {\text{data written to the flash memory}}{\text{data written by the host}}}}</annotation>
</semantics>
</math></span><img src="./2f22ab0d13b5aee5075028e3cb66d10967cc8a4d.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -2.338ex; width:55.962ex; height:5.843ex;" alt="{\displaystyle {\text{write amplification}}={\frac {\text{data written to the flash memory}}{\text{data written by the host}}}}" loading="lazy"></span></dd></dl>
<p>The two quantities used for calculation can be obtained via <a href="Self-Monitoring%2C_Analysis%2C_and_Reporting_Technology" class="mw-redirect" title="Self-Monitoring, Analysis, and Reporting Technology">SMART</a> statistics (ATA F7/F8;<sup id="cite_ref-f7f8_14-0" class="reference"><a href="#cite_note-f7f8-14"><span class="cite-bracket">[</span>13<span class="cite-bracket">]</span></a></sup> ATA F1/F9).
</p>
<div class="mw-heading mw-heading2"><h2 id="Factors_affecting_the_value">Factors affecting the value</h2></div>
<p>Many factors affect the write amplification of an SSD. The table below lists the primary factors and how they affect the write amplification. For factors that are variable, the table notes if it has a <i>direct</i> relationship or an <i>inverse</i> relationship. For example, as the amount of over-provisioning increases, the write amplification decreases (inverse relationship). If the factor is a toggle (<i>enabled</i> or <i>disabled</i>) function then it has either a <i>positive</i> or <i>negative</i> relationship.<sup id="cite_ref-IBM_WA_1-5" class="reference"><a href="#cite_note-IBM_WA-1"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-IBM_Hu_Haas_8-1" class="reference"><a href="#cite_note-IBM_Hu_Haas-8"><span class="cite-bracket">[</span>7<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-Zsolt_WA_15-0" class="reference"><a href="#cite_note-Zsolt_WA-15"><span class="cite-bracket">[</span>14<span class="cite-bracket">]</span></a></sup>
</p>
<table class="wikitable sortable">
<caption>Write amplification factors
</caption>
<tbody><tr>
<th>Factor
</th>
<th>Description
</th>
<th>Type
</th>
<th>Relationship*
</th></tr>
<tr>
<td><a class="mw-selflink-fragment" href="#Garbage_collection">Garbage collection</a>
</td>
<td>The efficiency of the algorithm used to pick the next best block to erase and rewrite
</td>
<td style="background: lightblue;">Variable
</td>
<td style="background: lightgreen;">Inverse (good)
</td></tr>
<tr>
<td><a class="mw-selflink-fragment" href="#Over-provisioning">Over-provisioning</a>
</td>
<td>The percentage of over-provisioning capacity which is allocated to the SSD controller
</td>
<td style="background: Lightblue;">Variable
</td>
<td style="background: Lightgreen;">Inverse (good)
</td></tr>
<tr>
<td>Device's built-in DRAM buffer
</td>
<td>The built-in DRAM buffer of the storage device (usually SSD) may used to decrease the write amplification
</td>
<td style="background: Lightblue;">Variable
</td>
<td style="background: Lightgreen;">Inverse (good)
</td></tr>
<tr>
<td><a href="Trim_(computing)" title="Trim (computing)">TRIM</a> command for SATA or UNMAP for SCSI
</td>
<td>These commands must be sent by the operating system (OS) which tells the storage device which pages contain invalid data. SSDs receiving these commands can then reclaim the blocks containing these pages as free space when they are erased instead of copying the invalid data to clean pages.
</td>
<td style="background: Wheat;">Toggle
</td>
<td style="background: Lightgreen;">Positive (good)
</td></tr>
<tr>
<td>Zoned Storage
</td>
<td>Zoned Storage is a storage technology set that can reduces write amplification and product cost. It divides the storage device to many zones (usually the blocks of flash memory), and allows operating systems (OS) to write data sequently on zones. It needs both operating system and device (such as SSD) to support this feature.
</td>
<td style="background: Wheat;">Toggle
</td>
<td style="background: Lightgreen;">Positive (good)
</td></tr>
<tr>
<td><a class="mw-selflink-fragment" href="#Free_user_space">Free user space</a>
</td>
<td>The percentage of the user capacity free of actual user data; requires TRIM, otherwise the SSD gains no benefit from any free user capacity
</td>
<td style="background: Lightblue;">Variable
</td>
<td style="background: Lightgreen;">Inverse (good)
</td></tr>
<tr>
<td><a class="mw-selflink-fragment" href="#Secure_erase">Secure erase</a>
</td>
<td>Erases all user data and related metadata which resets the SSD to the initial out-of-box performance (until garbage collection resumes)
</td>
<td style="background: Wheat;">Toggle
</td>
<td style="background: Lightgreen;">Positive (good)
</td></tr>
<tr>
<td><a class="mw-selflink-fragment" href="#Wear_leveling">Wear leveling</a>
</td>
<td>The efficiency of the algorithm that ensures every block is written an equal number of times to all other blocks as evenly as possible
</td>
<td style="background: Lightblue;">Variable
</td>
<td>Depends
</td></tr>
<tr>
<td><a class="mw-selflink-fragment" href="#Separating_static_and_dynamic_data">Separating static and dynamic data</a>
</td>
<td>Grouping data based on how often it tends to change
</td>
<td style="background: Wheat;">Toggle
</td>
<td style="background: Lightgreen;">Positive (good)
</td></tr>
<tr>
<td><a class="mw-selflink-fragment" href="#Sequential_writes">Sequential writes</a>
</td>
<td>In theory, sequential writes have less write amplification, but other factors will still affect the real situation
</td>
<td style="background: Wheat;">Toggle
</td>
<td style="background: Lightgreen;">Positive (good)
</td></tr>
<tr>
<td><a class="mw-selflink-fragment" href="#Random_writes">Random writes</a>
</td>
<td>Writing non-sequential data and smaller data sizes will have greater impact on write amplification
</td>
<td style="background: Wheat;">Toggle
</td>
<td style="background: LightCoral;">Negative (bad)
</td></tr>
<tr>
<td><a href="Data_compression" title="Data compression">Data compression</a> which includes <a href="Data_deduplication" title="Data deduplication">data deduplication</a>
</td>
<td>Write amplification goes down and SSD speed goes up when data compression and deduplication eliminates more redundant data.
</td>
<td style="background: Lightblue;">Variable
</td>
<td style="background: Lightgreen;">Inverse (good)
</td></tr>
<tr>
<td>Using <a href="Multi-level_cell" title="Multi-level cell">Multi-level cell</a> (including TLC/QLC and onward) NAND in <a href="Multi-level_cell#Single-level_cell" title="Multi-level cell">SLC</a> mode
</td>
<td>This writes data at a rate of one bit per cell instead of the designed number of bits per cell (normally two bits per cell or three bits per cell) to speed up reads and writes. If capacity limits of the NAND in SLC mode are approached, the SSD must rewrite the oldest data written in SLC mode into MLC / TLC mode to allow space in the SLC mode NAND to be erased in order to accept more data. However, this approach can reduce wear by keeping frequently-changed pages in SLC mode to avoid programming these changes in MLC / TLC mode, because writing in MLC / TLC mode does more damage to the flash than writing in SLC mode. Therefore, this approach drives up write amplification but could reduce wear when writing patterns target frequently-written pages. However, sequential- and random-write patterns will aggravate the damage because there are no or few frequently-written pages that could be contained in the SLC area, forcing old data to need to be constantly be rewritten to MLC / TLC from the SLC area. This method is sometimes called "SLC cache" or "SLC buffer". It has two types of "SLC buffer"; one type is static SLC buffer (a SLC buffer based on the over-provisioning area), another type is dynamic SLC buffer (dynamically change its size on factors such as free user capacity). However the SLC buffer usually does not accelerate read speed.
</td>
<td style="background: Wheat;">Toggle
</td>
<td>Depends
</td></tr></tbody></table>
<table class="wikitable">
<caption>*Relationship definitions
</caption>
<tbody><tr>
<th>Type
</th>
<th>Relationship modified
</th>
<th>Description
</th></tr>
<tr>
<td style="background: Lightblue;" rowspan="3">Variable
</td>
<td style="background: LightCoral;">Direct
</td>
<td style="background: LightCoral;">As the factor increases the WA increases
</td></tr>
<tr>
<td style="background: Lightgreen;">Inverse
</td>
<td style="background: Lightgreen;">As the factor increases the WA decreases
</td></tr>
<tr>
<td>Depends
</td>
<td>Depends on different manufacturers and models
</td></tr>
<tr>
<td style="background: wheat;" rowspan="3">Toggle
</td>
<td style="background: Lightgreen;">Positive
</td>
<td style="background: Lightgreen;">When the factor is present the WA decreases
</td></tr>
<tr>
<td style="background: LightCoral;">Negative
</td>
<td style="background: LightCoral;">When the factor is present the WA increases
</td></tr>
<tr>
<td>Depends
</td>
<td>Depends on different manufacturers and models
</td></tr></tbody></table>
<div class="mw-heading mw-heading2"><h2 id="Garbage_collection">Garbage collection</h2></div>
<div role="note" class="hatnote navigation-not-searchable">Main article: <a href="Garbage_collection_(computer_science)" title="Garbage collection (computer science)">Garbage collection (computer science)</a></div>
<p>Data is written to the flash memory in units called pages (made up of multiple cells). However, the memory can only be erased in larger units called blocks (made up of multiple pages).<sup id="cite_ref-L_Smith_2-3" class="reference"><a href="#cite_note-L_Smith-2"><span class="cite-bracket">[</span>2<span class="cite-bracket">]</span></a></sup> If the data in some of the pages of the block are no longer needed (also called stale pages), only the pages with good data in that block are read and rewritten into another previously erased empty block.<sup id="cite_ref-K_Smith_4-2" class="reference"><a href="#cite_note-K_Smith-4"><span class="cite-bracket">[</span>3<span class="cite-bracket">]</span></a></sup> Then the free pages left by not moving the stale data are available for new data. This is a process called <i><a href="Garbage_collection_(computer_science)" title="Garbage collection (computer science)">garbage collection</a></i> (GC).<sup id="cite_ref-IBM_WA_1-6" class="reference"><a href="#cite_note-IBM_WA-1"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-OCZ_WA_12-1" class="reference"><a href="#cite_note-OCZ_WA-12"><span class="cite-bracket">[</span>11<span class="cite-bracket">]</span></a></sup> All SSDs include some level of garbage collection, but they may differ in when and how fast they perform the process.<sup id="cite_ref-OCZ_WA_12-2" class="reference"><a href="#cite_note-OCZ_WA-12"><span class="cite-bracket">[</span>11<span class="cite-bracket">]</span></a></sup> Garbage collection is a big part of write amplification on the SSD.<sup id="cite_ref-IBM_WA_1-7" class="reference"><a href="#cite_note-IBM_WA-1"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-OCZ_WA_12-3" class="reference"><a href="#cite_note-OCZ_WA-12"><span class="cite-bracket">[</span>11<span class="cite-bracket">]</span></a></sup>
</p><p>Reads do not require an erase of the flash memory, so they are not generally associated with write amplification. In the limited chance of a <a href="Read_disturb" class="mw-redirect" title="Read disturb">read disturb</a> error, the data in that block is read and rewritten, but this would not have any material impact on the write amplification of the drive.<sup id="cite_ref-16" class="reference"><a href="#cite_note-16"><span class="cite-bracket">[</span>15<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-heading mw-heading3"><h3 id="Background_garbage_collection">Background garbage collection</h3></div>
<p>The process of garbage collection involves reading and rewriting data to the flash memory. This means that a new write from the host will first require a read of the whole block, a write of the parts of the block which still include valid data, and then a write of the new data. This can significantly reduce the performance of the system.<sup id="cite_ref-Mehling_Garbage_17-0" class="reference"><a href="#cite_note-Mehling_Garbage-17"><span class="cite-bracket">[</span>16<span class="cite-bracket">]</span></a></sup> Many SSD controllers implement <b>background garbage collection</b> (<b>BGC</b>), sometimes called <b>idle garbage collection</b> or <b>idle-time garbage collection</b> (<b>ITGC</b>), where the controller uses idle time to consolidate blocks of flash memory before the host needs to write new data. This enables the performance of the device to remain high.<sup id="cite_ref-Conley_18-0" class="reference"><a href="#cite_note-Conley-18"><span class="cite-bracket">[</span>17<span class="cite-bracket">]</span></a></sup>
</p><p>If the controller were to background garbage collect all of the spare blocks before it was absolutely necessary, new data written from the host could be written without having to move any data in advance, letting the performance operate at its peak speed. The trade-off is that some of those blocks of data are actually not needed by the host and will eventually be deleted, but the OS did not tell the controller this information (until <a href="#TRIM">TRIM</a> was introduced). The result is that the soon-to-be-deleted data is rewritten to another location in the flash memory, increasing the write amplification. In some of the SSDs from <a href="OCZ" title="OCZ">OCZ</a> the background garbage collection clears up only a small number of blocks then stops, thereby limiting the amount of excessive writes.<sup id="cite_ref-OCZ_WA_12-4" class="reference"><a href="#cite_note-OCZ_WA-12"><span class="cite-bracket">[</span>11<span class="cite-bracket">]</span></a></sup> Another solution is to have an efficient garbage collection system which can perform the necessary moves in parallel with the host writes. This solution is more effective in high write environments where the SSD is rarely idle.<sup id="cite_ref-Layton_19-0" class="reference"><a href="#cite_note-Layton-19"><span class="cite-bracket">[</span>18<span class="cite-bracket">]</span></a></sup> The <a href="SandForce" title="SandForce">SandForce</a> SSD controllers<sup id="cite_ref-Mehling_Garbage_17-1" class="reference"><a href="#cite_note-Mehling_Garbage-17"><span class="cite-bracket">[</span>16<span class="cite-bracket">]</span></a></sup> and the systems from <a href="Violin_Memory" title="Violin Memory">Violin Memory</a> have this capability.<sup id="cite_ref-Zsolt_WA_15-1" class="reference"><a href="#cite_note-Zsolt_WA-15"><span class="cite-bracket">[</span>14<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-heading mw-heading3"><h3 id="Filesystem-aware_garbage_collection">Filesystem-aware garbage collection</h3></div>
<p>In 2010, some manufacturers (notably Samsung) introduced SSD controllers that extended the concept of BGC to analyze the <a href="File_system" title="File system">file system</a> used on the SSD, to identify recently deleted files and <a href="Disk_partitioning" title="Disk partitioning">unpartitioned space</a>. Samsung claimed that this would ensure that even systems (operating systems and SATA controller hardware) which do not support <a href="Trim_(computing)" title="Trim (computing)">TRIM</a> could achieve similar performance. The operation of the Samsung implementation appeared to assume and require an <a href="NTFS" title="NTFS">NTFS</a> file system.<sup id="cite_ref-Bell_Garbage_20-0" class="reference"><a href="#cite_note-Bell_Garbage-20"><span class="cite-bracket">[</span>19<span class="cite-bracket">]</span></a></sup> It is not clear if this feature is still available in currently shipping SSDs from these manufacturers. Systemic data corruption has been reported on these drives if they are not formatted properly using <a href="Master_boot_record" title="Master boot record">MBR</a> and NTFS.
</p>
<div class="mw-heading mw-heading2"><h2 id="TRIM">TRIM</h2></div>
<div role="note" class="hatnote navigation-not-searchable">Main article: <a href="Trim_(computing)" title="Trim (computing)">Trim (computing)</a></div>
<p><a href="Trim_(computing)" title="Trim (computing)">TRIM</a> is a SATA command that enables the operating system to tell an SSD which blocks of previously saved data are no longer needed as a result of file deletions or volume formatting. When an LBA is replaced by the OS, as with an overwrite of a file, the SSD knows that the original LBA can be marked as stale or invalid and it will not save those blocks during garbage collection. If the user or operating system erases a file (not just remove parts of it), the file will typically be marked for deletion, but the actual contents on the disk are never actually erased. Because of this, the SSD does not know that it can erase the LBAs previously occupied by the file, so the SSD will keep including such LBAs in the garbage collection.<sup id="cite_ref-Christiansen_21-0" class="reference"><a href="#cite_note-Christiansen-21"><span class="cite-bracket">[</span>20<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-SSD_Improv_22-0" class="reference"><a href="#cite_note-SSD_Improv-22"><span class="cite-bracket">[</span>21<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-Mehling_TRIM_23-0" class="reference"><a href="#cite_note-Mehling_TRIM-23"><span class="cite-bracket">[</span>22<span class="cite-bracket">]</span></a></sup>
</p><p>The introduction of the TRIM command resolves this problem for operating systems that <a href="Trim_(computing)#Operating_system_support" title="Trim (computing)">support</a> it like <a href="Features_new_to_Windows_7#Solid_state_drives" title="Features new to Windows 7">Windows 7</a>,<sup id="cite_ref-SSD_Improv_22-1" class="reference"><a href="#cite_note-SSD_Improv-22"><span class="cite-bracket">[</span>21<span class="cite-bracket">]</span></a></sup> Mac OS (latest releases of Snow Leopard, Lion, and Mountain Lion, patched in some cases),<sup id="cite_ref-24" class="reference"><a href="#cite_note-24"><span class="cite-bracket">[</span>23<span class="cite-bracket">]</span></a></sup> <a href="FreeBSD" title="FreeBSD">FreeBSD</a> since version 8.1,<sup id="cite_ref-25" class="reference"><a href="#cite_note-25"><span class="cite-bracket">[</span>24<span class="cite-bracket">]</span></a></sup> and <a href="Linux" title="Linux">Linux</a> since version 2.6.33 of the <a href="Linux_kernel_mainline" class="mw-redirect" title="Linux kernel mainline">Linux kernel mainline</a>.<sup id="cite_ref-26" class="reference"><a href="#cite_note-26"><span class="cite-bracket">[</span>25<span class="cite-bracket">]</span></a></sup> When a file is permanently deleted or the drive is formatted, the OS sends the TRIM command along with the LBAs that no longer contain valid data. This informs the SSD that the LBAs in use can be erased and reused. This reduces the LBAs needing to be moved during garbage collection. The result is the SSD will have more free space enabling lower write amplification and higher performance.<sup id="cite_ref-Christiansen_21-1" class="reference"><a href="#cite_note-Christiansen-21"><span class="cite-bracket">[</span>20<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-SSD_Improv_22-2" class="reference"><a href="#cite_note-SSD_Improv-22"><span class="cite-bracket">[</span>21<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-Mehling_TRIM_23-1" class="reference"><a href="#cite_note-Mehling_TRIM-23"><span class="cite-bracket">[</span>22<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-heading mw-heading3"><h3 id="Limitations_and_dependencies">Limitations and dependencies</h3></div>
<p>The TRIM command also needs the support of the SSD. If the <a href="Firmware" title="Firmware">firmware</a> in the SSD does not have support for the TRIM command, the LBAs received with the TRIM command will not be marked as invalid and the drive will continue to garbage collect the data assuming it is still valid. Only when the OS saves new data into those LBAs will the SSD know to mark the original LBA as invalid.<sup id="cite_ref-Mehling_TRIM_23-2" class="reference"><a href="#cite_note-Mehling_TRIM-23"><span class="cite-bracket">[</span>22<span class="cite-bracket">]</span></a></sup> SSD Manufacturers that did not originally build TRIM support into their drives can either offer a firmware upgrade to the user, or provide a separate utility that extracts the information on the invalid data from the OS and separately TRIMs the SSD. The benefit would be realized only after each run of that utility by the user. The user could set up that utility to run periodically in the background as an automatically scheduled task.<sup id="cite_ref-Mehling_Garbage_17-2" class="reference"><a href="#cite_note-Mehling_Garbage-17"><span class="cite-bracket">[</span>16<span class="cite-bracket">]</span></a></sup>
</p><p>Just because an SSD supports the TRIM command does not necessarily mean it will be able to perform at top speed immediately after a TRIM command. The space which is freed up after the TRIM command may be at random locations spread throughout the SSD. It will take a number of passes of writing data and garbage collecting before those spaces are consolidated to show improved performance.<sup id="cite_ref-Mehling_TRIM_23-3" class="reference"><a href="#cite_note-Mehling_TRIM-23"><span class="cite-bracket">[</span>22<span class="cite-bracket">]</span></a></sup>
</p><p>Even after the OS and SSD are configured to support the TRIM command, other conditions might prevent any benefit from TRIM. As of early 2010, databases and RAID systems are not yet TRIM-aware and consequently will not know how to pass that information on to the SSD. In those cases the SSD will continue to save and garbage collect those blocks until the OS uses those LBAs for new writes.<sup id="cite_ref-Mehling_TRIM_23-4" class="reference"><a href="#cite_note-Mehling_TRIM-23"><span class="cite-bracket">[</span>22<span class="cite-bracket">]</span></a></sup>
</p><p>The actual benefit of the TRIM command depends upon the free user space on the SSD. If the user capacity on the SSD was 100 GB and the user actually saved 95 GB of data to the drive, any TRIM operation would not add more than 5 GB of free space for garbage collection and wear leveling. In those situations, increasing the amount of over-provisioning by 5 GB would allow the SSD to have more consistent performance because it would always have the additional 5 GB of additional free space without having to wait for the TRIM command to come from the OS.<sup id="cite_ref-Mehling_TRIM_23-5" class="reference"><a href="#cite_note-Mehling_TRIM-23"><span class="cite-bracket">[</span>22<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-heading mw-heading2"><h2 id="Over-provisioning">Over-provisioning</h2></div>
<p>Over-provisioning (sometimes spelled as OP, over provisioning, or overprovisioning) is the difference between the physical capacity of the flash memory and the logical capacity presented through the <a href="Operating_system" title="Operating system">operating system</a> (OS) as available for the user. During the garbage collection, wear-leveling, and bad block mapping operations on the SSD, the additional space from over-provisioning helps lower the write amplification when the controller writes to the flash memory.<sup id="cite_ref-Lucchesi_5-2" class="reference"><a href="#cite_note-Lucchesi-5"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-Jim_Bagley_27-1" class="reference"><a href="#cite_note-Jim_Bagley-27"><span class="cite-bracket">[</span>26<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-Drossel_28-0" class="reference"><a href="#cite_note-Drossel-28"><span class="cite-bracket">[</span>27<span class="cite-bracket">]</span></a></sup> Over-provisioning region is also used for storing firmware data like <a href="Flash_Translation_Layer" class="mw-redirect" title="Flash Translation Layer">FTL</a> tables. Over-provisioning is represented as a percentage ratio of extra capacity to user-available capacity:<sup id="cite_ref-Smith_2012_29-0" class="reference"><a href="#cite_note-Smith_2012-29"><span class="cite-bracket">[</span>28<span class="cite-bracket">]</span></a></sup>
</p>
<dl><dd><span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle {\text{over-provisioning}}={\frac {{\text{physical capacity}}-{\text{user capacity}}}{\text{user capacity}}}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mrow class="MJX-TeXAtom-ORD">
<mtext>over-provisioning</mtext>
</mrow>
<mo>=</mo>
<mrow class="MJX-TeXAtom-ORD">
<mfrac>
<mrow>
<mrow class="MJX-TeXAtom-ORD">
<mtext>physical capacity</mtext>
</mrow>
<mo>−<!-- − --></mo>
<mrow class="MJX-TeXAtom-ORD">
<mtext>user capacity</mtext>
</mrow>
</mrow>
<mtext>user capacity</mtext>
</mfrac>
</mrow>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle {\text{over-provisioning}}={\frac {{\text{physical capacity}}-{\text{user capacity}}}{\text{user capacity}}}}</annotation>
</semantics>
</math></span><img src="./ce4e77cf8d6ea6b446132d4831465612976bfe10.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -2.338ex; width:54.698ex; height:5.843ex;" alt="{\displaystyle {\text{over-provisioning}}={\frac {{\text{physical capacity}}-{\text{user capacity}}}{\text{user capacity}}}}" loading="lazy"></span></dd></dl>
<p>Over-provisioning typically comes from three sources:
</p>
<ol><li>The computation of the capacity and use of <a href="Gigabyte" title="Gigabyte">gigabyte</a> (GB) as the unit instead of <a href="Gibibyte" class="mw-redirect" title="Gibibyte">gibibyte</a> (GiB). Both HDD and SSD vendors use the term GB to represent a <i>decimal GB</i> or 1,000,000,000 (= 10<sup>9</sup>) bytes. Like most other electronic storage, flash memory is assembled in powers of two, so calculating the physical capacity of an SSD would be based on 1,073,741,824 (= 2<sup>30</sup>) per <i>binary GB</i> or GiB. The difference between these two values is 7.37% (= (2<sup>30</sup> − 10<sup>9</sup>) / 10<sup>9</sup> × 100%). Therefore, a 128 GB SSD with 0% additional over-provisioning would provide 128,000,000,000 bytes to the user (out of 137,438,953,472 total). This initial 7.37% is typically not counted in the total over-provisioning number, and the true amount available is usually less as some storage space is needed for the controller to keep track of non-operating system data such as block status flags.<sup id="cite_ref-Jim_Bagley_27-2" class="reference"><a href="#cite_note-Jim_Bagley-27"><span class="cite-bracket">[</span>26<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-Smith_2012_29-1" class="reference"><a href="#cite_note-Smith_2012-29"><span class="cite-bracket">[</span>28<span class="cite-bracket">]</span></a></sup> The 7.37% figure may extend to 9.95% in the terabyte range, as <span class="citation-needed-content" style="padding-left:0.1em; padding-right:0.1em; color:var(--color-subtle, #54595d); border:1px solid var(--border-color-subtle, #c8ccd1);">manufacturers take advantage of a further grade of binary/decimal unit divergence to offer 1 or 2 TB drives of 1000 and 2000 GB capacity (931 and 1862 GiB), respectively, instead of 1024 and 2048 GB (as 1 TB = 1,000,000,000,000 bytes in decimal terms, but 1,099,511,627,776 in binary).</span></li>
<li>Manufacturer decision. This is done typically at 0%, 7%, 14% or 28%, based on the difference between the decimal gigabyte of the physical capacity and the decimal gigabyte of the available space to the user. As an example, a manufacturer might publish a specification for their SSD at 100, 120 or 128 GB based on 128 GB of possible capacity. This difference is 28%, 14%, 7% and 0% respectively and is the basis for the manufacturer claiming they have 28% of over-provisioning on their drive. This does not count the additional 7.37% of capacity available from the difference between the decimal and binary gigabyte.<sup id="cite_ref-Jim_Bagley_27-3" class="reference"><a href="#cite_note-Jim_Bagley-27"><span class="cite-bracket">[</span>26<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-Smith_2012_29-2" class="reference"><a href="#cite_note-Smith_2012-29"><span class="cite-bracket">[</span>28<span class="cite-bracket">]</span></a></sup> Mid-end and high-end flash products are usually have bigger over-provisioning percentage. Adapt the higher over-provisioning percentage will increase the cost of flash product.</li>
<li>Known free user space on the drive, gaining endurance and performance at the expense of reporting unused portions, or at the expense of current or future capacity. This free space can be identified by the operating system using the TRIM command. Alternatively, some SSDs provide a utility that permits the end user to select additional over-provisioning. Furthermore, if any SSD is set up with an overall partitioning layout smaller than 100% of the available space, that unpartitioned space will be automatically used by the SSD as over-provisioning as well.<sup id="cite_ref-Smith_2012_29-3" class="reference"><a href="#cite_note-Smith_2012-29"><span class="cite-bracket">[</span>28<span class="cite-bracket">]</span></a></sup> Yet another source of over-provisioning is operating system minimum free space limits; some operating systems maintain a certain minimum free space per drive, particularly on the boot or main drive. If this additional space can be identified by the SSD, perhaps through continuous usage of the TRIM command, then this acts as semi-permanent over-provisioning. Over-provisioning often takes away from user capacity, either temporarily or permanently, but it gives back reduced write amplification, increased endurance, and increased performance.<sup id="cite_ref-Layton_19-1" class="reference"><a href="#cite_note-Layton-19"><span class="cite-bracket">[</span>18<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-Drossel_28-1" class="reference"><a href="#cite_note-Drossel-28"><span class="cite-bracket">[</span>27<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-Anand_Spare_Area_30-0" class="reference"><a href="#cite_note-Anand_Spare_Area-30"><span class="cite-bracket">[</span>29<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-31" class="reference"><a href="#cite_note-31"><span class="cite-bracket">[</span>30<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-32" class="reference"><a href="#cite_note-32"><span class="cite-bracket">[</span>31<span class="cite-bracket">]</span></a></sup></li></ol>
<div class="mw-heading mw-heading3"><h3 id="Free_user_space">Free user space</h3></div>
<p>The SSD controller will use free blocks on the SSD for garbage collection and wear leveling. The portion of the user capacity which is free from user data (either already TRIMed or never written in the first place) will look the same as over-provisioning space (until the user saves new data to the SSD). If the user saves data consuming only half of the total user capacity of the drive, the other half of the user capacity will look like additional over-provisioning (as long as the TRIM command is supported in the system).<sup id="cite_ref-Mehling_TRIM_23-6" class="reference"><a href="#cite_note-Mehling_TRIM-23"><span class="cite-bracket">[</span>22<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-AnandTech_Ant_33-0" class="reference"><a href="#cite_note-AnandTech_Ant-33"><span class="cite-bracket">[</span>32<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-heading mw-heading2"><h2 id="Secure_erase">Secure erase</h2></div>
<div role="note" class="hatnote navigation-not-searchable">See also: <a href="Data_sanitization#Secure_erase" title="Data sanitization">Data sanitization § Secure erase</a></div>
<p>The ATA Secure Erase command is designed to remove all user data from a drive. With an SSD without integrated encryption, this command will put the drive back to its original out-of-box state. This will initially restore its performance to the highest possible level and the best (lowest number) possible write amplification, but as soon as the drive starts garbage collecting again the performance and write amplification will start returning to the former levels.<sup id="cite_ref-AnandTech_Anthology_11_34-0" class="reference"><a href="#cite_note-AnandTech_Anthology_11-34"><span class="cite-bracket">[</span>33<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-Malventano_35-0" class="reference"><a href="#cite_note-Malventano-35"><span class="cite-bracket">[</span>34<span class="cite-bracket">]</span></a></sup> Many tools use the ATA Secure Erase command to reset the drive and provide a user interface as well. One free tool that is commonly referenced in the industry is called <a href="HDDerase" title="HDDerase">HDDerase</a>.<sup id="cite_ref-Malventano_35-1" class="reference"><a href="#cite_note-Malventano-35"><span class="cite-bracket">[</span>34<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-HDDERASE_36-0" class="reference"><a href="#cite_note-HDDERASE-36"><span class="cite-bracket">[</span>35<span class="cite-bracket">]</span></a></sup> <a href="GParted" title="GParted">GParted</a> and <a href="Ubuntu_(operating_system)" class="mw-redirect" title="Ubuntu (operating system)">Ubuntu</a> live CDs provide a bootable Linux system of disk utilities including secure erase.<sup id="cite_ref-37" class="reference"><a href="#cite_note-37"><span class="cite-bracket">[</span>36<span class="cite-bracket">]</span></a></sup>
</p><p>Drives which encrypt all writes on the fly <i>can</i> implement ATA Secure Erase in another way. They simply <a href="Zeroize" class="mw-redirect" title="Zeroize">zeroize</a> and generate a new random encryption key each time a secure erase is done. In this way the old data cannot be read any more, as it cannot be decrypted.<sup id="cite_ref-38" class="reference"><a href="#cite_note-38"><span class="cite-bracket">[</span>37<span class="cite-bracket">]</span></a></sup> Some drives with an integrated encryption will physically clear all blocks after that as well, while other drives may require a TRIM command to be sent to the drive to put the drive back to its original out-of-box state (as otherwise their performance may not be maximized).<sup id="cite_ref-39" class="reference"><a href="#cite_note-39"><span class="cite-bracket">[</span>38<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-heading mw-heading2"><h2 id="Wear_leveling">Wear leveling</h2></div>
<div role="note" class="hatnote navigation-not-searchable">Main article: <a href="Wear_leveling" title="Wear leveling">Wear leveling</a></div>
<p>If a particular block was programmed and erased repeatedly without writing to any other blocks, that block would wear out before all the other blocks – thereby prematurely ending the life of the SSD. For this reason, SSD controllers use a technique called <a href="Wear_leveling" title="Wear leveling">wear leveling</a> to distribute writes as evenly as possible across all the flash blocks in the SSD.
</p><p>In a perfect scenario, this would enable every block to be written to its maximum life so they all fail at the same time. Unfortunately, the process to evenly distribute writes requires data previously written and not changing (cold data) to be moved, so that data which are changing more frequently (hot data) can be written into those blocks. Each time data are relocated without being changed by the host system, this increases the write amplification and thus reduces the life of the flash memory. The key is to find an optimal algorithm which maximizes them both.<sup id="cite_ref-Li-Pin_Chang_40-0" class="reference"><a href="#cite_note-Li-Pin_Chang-40"><span class="cite-bracket">[</span>39<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-heading mw-heading3"><h3 id="Separating_static_and_dynamic_data">Separating static and dynamic data</h3></div>
<p>The separation of static (cold) and dynamic (hot) data to reduce write amplification is not a simple process for the SSD controller. The process requires the SSD controller to separate the LBAs with data which is constantly changing and requiring rewriting (dynamic data) from the LBAs with data which rarely changes and does not require any rewrites (static data). If the data is mixed in the same blocks, as with almost all systems today, any rewrites will require the SSD controller to rewrite both the dynamic data (which caused the rewrite initially) and static data (which did not require any rewrite). Any garbage collection of data that would not have otherwise required moving will increase write amplification. Therefore, separating the data will enable static data to stay at rest and if it never gets rewritten it will have the lowest possible write amplification for that data. The drawback to this process is that somehow the SSD controller must still find a way to wear level the static data because those blocks that never change will not get a chance to be written to their maximum P/E cycles.<sup id="cite_ref-IBM_WA_1-8" class="reference"><a href="#cite_note-IBM_WA-1"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-heading mw-heading2"><h2 id="Performance_implications">Performance implications</h2></div>
<div class="mw-heading mw-heading3"><h3 id="Sequential_writes">Sequential writes</h3></div>
<p>When an SSD is writing large amounts of data sequentially, the write amplification is equal to one meaning there is less write amplification. The reason is as the data is written, the entire (flash) block is filled sequentially with data related to the same file. If the OS determines that file is to be replaced or deleted, the entire block can be marked as invalid, and there is no need to read parts of it to garbage collect and rewrite into another block. It will need only to be erased, which is much easier and faster than the <i>read–erase–modify–write</i> process needed for randomly written data going through garbage collection.<sup id="cite_ref-IBM_Hu_Haas_8-2" class="reference"><a href="#cite_note-IBM_Hu_Haas-8"><span class="cite-bracket">[</span>7<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-heading mw-heading3"><h3 id="Random_writes">Random writes</h3></div>
<p>The peak random write performance on an SSD is driven by plenty of free blocks after the SSD is completely garbage collected, secure erased, 100% TRIMed, or newly installed. The maximum speed will depend upon the number of parallel flash channels connected to the SSD controller, the efficiency of the firmware, and the speed of the flash memory in writing to a page. During this phase the write amplification will be the best it can ever be for random writes and will be approaching one. Once the blocks are all written once, garbage collection will begin and the performance will be gated by the speed and efficiency of that process. Write amplification in this phase will increase to the highest levels the drive will experience.<sup id="cite_ref-IBM_Hu_Haas_8-3" class="reference"><a href="#cite_note-IBM_Hu_Haas-8"><span class="cite-bracket">[</span>7<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-heading mw-heading2"><h2 id="Impact_on_performance">Impact on performance</h2></div>
<p>The overall performance of an SSD is dependent upon a number of factors, including write amplification. Writing to a flash memory device takes longer than reading from it.<sup id="cite_ref-Conley_18-1" class="reference"><a href="#cite_note-Conley-18"><span class="cite-bracket">[</span>17<span class="cite-bracket">]</span></a></sup> An SSD generally uses multiple flash memory components connected in parallel as channels to increase performance. If the SSD has a high write amplification, the controller will be required to write that many more times to the flash memory. This requires even more time to write the data from the host. An SSD with a low write amplification will not need to write as much data and can therefore be finished writing sooner than a drive with a high write amplification.<sup id="cite_ref-IBM_WA_1-9" class="reference"><a href="#cite_note-IBM_WA-1"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-IBM_Perf_9-1" class="reference"><a href="#cite_note-IBM_Perf-9"><span class="cite-bracket">[</span>8<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-heading mw-heading2"><h2 id="Product_statements">Product statements</h2></div>
<p>In September 2008, <a href="Intel" title="Intel">Intel</a> announced the X25-M SATA SSD with a reported WA as low as 1.1.<sup id="cite_ref-Anand_WA_6-1" class="reference"><a href="#cite_note-Anand_WA-6"><span class="cite-bracket">[</span>5<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-41" class="reference"><a href="#cite_note-41"><span class="cite-bracket">[</span>40<span class="cite-bracket">]</span></a></sup> In April 2009, <a href="SandForce" title="SandForce">SandForce</a> announced the SF-1000 SSD Processor family with a reported WA of 0.5 which uses data compression to achieve a sub 1.0 WA.<sup id="cite_ref-Anand_WA_6-2" class="reference"><a href="#cite_note-Anand_WA-6"><span class="cite-bracket">[</span>5<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-42" class="reference"><a href="#cite_note-42"><span class="cite-bracket">[</span>41<span class="cite-bracket">]</span></a></sup> Before this announcement, a write amplification of 1.0 was considered the lowest that could be attained with an SSD.<sup id="cite_ref-Conley_18-2" class="reference"><a href="#cite_note-Conley-18"><span class="cite-bracket">[</span>17<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-heading mw-heading2"><h2 id="See_also">See also</h2></div>
<ul><li><a href="Flash_file_system" title="Flash file system">Flash file system</a></li>
<li><a href="Partition_alignment" title="Partition alignment">Partition alignment</a></li>
<li><a href="Wear_leveling" title="Wear leveling">Wear leveling</a></li></ul>
<div class="mw-heading mw-heading2"><h2 id="Notes">Notes</h2></div>
<style data-mw-deduplicate="TemplateStyles:r1239543626">
/* start https://en.wikipedia.org/ */
.mw-parser-output .reflist{margin-bottom:0.5em;list-style-type:decimal}@media screen{.mw-parser-output .reflist{font-size:90%}}.mw-parser-output .reflist .references{font-size:100%;margin-bottom:0;list-style-type:inherit}.mw-parser-output .reflist-columns-2{column-width:30em}.mw-parser-output .reflist-columns-3{column-width:25em}.mw-parser-output .reflist-columns{margin-top:0.3em}.mw-parser-output .reflist-columns ol{margin-top:0}.mw-parser-output .reflist-columns li{page-break-inside:avoid;break-inside:avoid-column}.mw-parser-output .reflist-upper-alpha{list-style-type:upper-alpha}.mw-parser-output .reflist-upper-roman{list-style-type:upper-roman}.mw-parser-output .reflist-lower-alpha{list-style-type:lower-alpha}.mw-parser-output .reflist-lower-greek{list-style-type:lower-greek}.mw-parser-output .reflist-lower-roman{list-style-type:lower-roman}
/* end https://en.wikipedia.org/ */
</style><div class="reflist reflist-lower-alpha">
<div class="mw-references-wrap"><ol class="references">
<li id="cite_note-3"><span class="mw-cite-backlink"><b><a href="#cite_ref-3">^</a></b></span> <span class="reference-text">Data is written to the flash memory in units called pages, which are made up of multiple cells. However, the flash memory can be erased only in larger units called blocks, which are made up of multiple pages.<sup id="cite_ref-L_Smith_2-0" class="reference"><a href="#cite_note-L_Smith-2"><span class="cite-bracket">[</span>2<span class="cite-bracket">]</span></a></sup></span>
</li>
</ol></div></div>
<div class="mw-heading mw-heading2"><h2 id="References">References</h2></div>
<div class="reflist reflist-columns references-column-width" style="column-width: 30em;">
<ol class="references">
<li id="cite_note-IBM_WA-1"><span class="mw-cite-backlink">^ <a href="#cite_ref-IBM_WA_1-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-IBM_WA_1-1"><sup><i><b>b</b></i></sup></a> <a href="#cite_ref-IBM_WA_1-2"><sup><i><b>c</b></i></sup></a> <a href="#cite_ref-IBM_WA_1-3"><sup><i><b>d</b></i></sup></a> <a href="#cite_ref-IBM_WA_1-4"><sup><i><b>e</b></i></sup></a> <a href="#cite_ref-IBM_WA_1-5"><sup><i><b>f</b></i></sup></a> <a href="#cite_ref-IBM_WA_1-6"><sup><i><b>g</b></i></sup></a> <a href="#cite_ref-IBM_WA_1-7"><sup><i><b>h</b></i></sup></a> <a href="#cite_ref-IBM_WA_1-8"><sup><i><b>i</b></i></sup></a> <a href="#cite_ref-IBM_WA_1-9"><sup><i><b>j</b></i></sup></a></span> <span class="reference-text"><style data-mw-deduplicate="TemplateStyles:r1238218222">
/* start https://en.wikipedia.org/ */
.mw-parser-output cite.citation{font-style:inherit;word-wrap:break-word}.mw-parser-output .citation q{quotes:"\"""\"""'""'"}.mw-parser-output .citation:target{background-color:rgba(0,127,255,0.133)}.mw-parser-output .id-lock-free.id-lock-free a{background:url("./mw/Lock-green.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-limited.id-lock-limited a,.mw-parser-output .id-lock-registration.id-lock-registration a{background:url("./mw/Lock-gray-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-subscription.id-lock-subscription a{background:url("./mw/Lock-red-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .cs1-ws-icon a{background:url("./mw/Wikisource-logo.svg")right 0.1em center/12px no-repeat}body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-free a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-limited a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-registration a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-subscription a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .cs1-ws-icon a{background-size:contain;padding:0 1em 0 0}.mw-parser-output .cs1-code{color:inherit;background:inherit;border:none;padding:inherit}.mw-parser-output .cs1-hidden-error{display:none;color:var(--color-error,#d33)}.mw-parser-output .cs1-visible-error{color:var(--color-error,#d33)}.mw-parser-output .cs1-maint{display:none;color:#085;margin-left:0.3em}.mw-parser-output .cs1-kern-left{padding-left:0.2em}.mw-parser-output .cs1-kern-right{padding-right:0.2em}.mw-parser-output .citation .mw-selflink{font-weight:inherit}@media screen{.mw-parser-output .cs1-format{font-size:95%}html.skin-theme-clientpref-night .mw-parser-output .cs1-maint{color:#18911f}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .cs1-maint{color:#18911f}}
/* end https://en.wikipedia.org/ */
</style><cite id="CITEREFHu,_X.-Y.E._EleftheriouR._HaasI._Iliadis2009" class="citation book cs1">Hu, X.-Y.; E. Eleftheriou; R. Haas; I. Iliadis; R. Pletka (2009). <i>Write Amplification Analysis in Flash-Based Solid State Drives</i>. <a href="IBM" title="IBM">IBM</a>. <a href="CiteSeerX_(identifier)" class="mw-redirect" title="CiteSeerX (identifier)">CiteSeerX</a> <span class="id-lock-free" title="Freely accessible"><a rel="nofollow" class="external text" href="https://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.154.8668">10.1.1.154.8668</a></span>.</cite></span>
</li>
<li id="cite_note-L_Smith-2"><span class="mw-cite-backlink">^ <a href="#cite_ref-L_Smith_2-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-L_Smith_2-1"><sup><i><b>b</b></i></sup></a> <a href="#cite_ref-L_Smith_2-2"><sup><i><b>c</b></i></sup></a> <a href="#cite_ref-L_Smith_2-3"><sup><i><b>d</b></i></sup></a></span> <span class="reference-text"><cite id="CITEREFThatcher2009" class="citation web cs1">Thatcher, Jonathan (2009-08-18). <a rel="nofollow" class="external text" href="http://www.snia.org/sites/default/education/tutorials/2009/spring/solid/JonathanThatcher_NandFlash_SSS_PerformanceV10-nc.pdf">"NAND Flash Solid State Storage Performance and Capability – an In-depth Look"</a> <span class="cs1-format">(PDF)</span>. SNIA<span class="reference-accessdate">. Retrieved <span class="nowrap">2012-08-28</span></span>.</cite></span>
</li>
<li id="cite_note-K_Smith-4"><span class="mw-cite-backlink">^ <a href="#cite_ref-K_Smith_4-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-K_Smith_4-1"><sup><i><b>b</b></i></sup></a> <a href="#cite_ref-K_Smith_4-2"><sup><i><b>c</b></i></sup></a></span> <span class="reference-text"><cite id="CITEREFSmith2009" class="citation web cs1">Smith, Kent (2009-08-17). <a rel="nofollow" class="external text" href="http://www.flashmemorysummit.com/English/Collaterals/Proceedings/2009/20090811_F2A_Smith.pdf">"Benchmarking SSDs: The Devil is in the Preconditioning Details"</a> <span class="cs1-format">(PDF)</span>. SandForce<span class="reference-accessdate">. Retrieved <span class="nowrap">2016-11-10</span></span>.</cite></span>
</li>
<li id="cite_note-Lucchesi-5"><span class="mw-cite-backlink">^ <a href="#cite_ref-Lucchesi_5-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-Lucchesi_5-1"><sup><i><b>b</b></i></sup></a> <a href="#cite_ref-Lucchesi_5-2"><sup><i><b>c</b></i></sup></a></span> <span class="reference-text"><cite id="CITEREFLucchesi2008" class="citation web cs1">Lucchesi, Ray (September 2008). <a rel="nofollow" class="external text" href="http://www.silvertonconsulting.com/page6/files/SSDf_drives.pdf">"SSD Flash drives enter the enterprise"</a> <span class="cs1-format">(PDF)</span>. Silverton Consulting<span class="reference-accessdate">. Retrieved <span class="nowrap">2010-06-18</span></span>.</cite></span>
</li>
<li id="cite_note-Anand_WA-6"><span class="mw-cite-backlink">^ <a href="#cite_ref-Anand_WA_6-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-Anand_WA_6-1"><sup><i><b>b</b></i></sup></a> <a href="#cite_ref-Anand_WA_6-2"><sup><i><b>c</b></i></sup></a></span> <span class="reference-text"><cite id="CITEREFShimpi,_Anand_Lal2009" class="citation web cs1">Shimpi, Anand Lal (2009-12-31). <a rel="nofollow" class="external text" href="https://archive.today/20130117113646/http://www.anandtech.com/show/2899">"OCZ's Vertex 2 Pro Preview: The Fastest MLC SSD We've Ever Tested"</a>. AnandTech. Archived from <a rel="nofollow" class="external text" href="http://www.anandtech.com/show/2899">the original</a> on January 17, 2013<span class="reference-accessdate">. Retrieved <span class="nowrap">2011-06-16</span></span>.</cite></span>
</li>
<li id="cite_note-7"><span class="mw-cite-backlink"><b><a href="#cite_ref-7">^</a></b></span> <span class="reference-text"><cite id="CITEREFKu2012" class="citation web cs1">Ku, Andrew (6 February 2012). <a rel="nofollow" class="external text" href="http://www.tomshardware.com/reviews/ssd-520-sandforce-review-benchmark,3124-11.html">"Intel SSD 520 Review: SandForce's Technology: Very Low Write Amplification"</a>. <i>TomsHardware</i><span class="reference-accessdate">. Retrieved <span class="nowrap">10 February</span> 2012</span>.</cite></span>
</li>
<li id="cite_note-IBM_Hu_Haas-8"><span class="mw-cite-backlink">^ <a href="#cite_ref-IBM_Hu_Haas_8-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-IBM_Hu_Haas_8-1"><sup><i><b>b</b></i></sup></a> <a href="#cite_ref-IBM_Hu_Haas_8-2"><sup><i><b>c</b></i></sup></a> <a href="#cite_ref-IBM_Hu_Haas_8-3"><sup><i><b>d</b></i></sup></a></span> <span class="reference-text"><cite id="CITEREFHu,_X.-Y.R._Haas2010" class="citation web cs1">Hu, X.-Y. & R. Haas (2010-03-31). <a rel="nofollow" class="external text" href="https://web.archive.org/web/20110713001639/http://domino.watson.ibm.com/library/cyberdig.nsf/papers/50A84DF88D540735852576F5004C2558/$File/rz3771.pdf">"The Fundamental Limit of Flash Random Write Performance: Understanding, Analysis and Performance Modelling"</a> <span class="cs1-format">(PDF)</span>. IBM Research, Zurich. Archived from <a rel="nofollow" class="external text" href="http://domino.watson.ibm.com/library/cyberdig.nsf/papers/50A84DF88D540735852576F5004C2558/$File/rz3771.pdf">the original</a> <span class="cs1-format">(PDF)</span> on 2011-07-13<span class="reference-accessdate">. Retrieved <span class="nowrap">2010-06-19</span></span>.</cite></span>
</li>
<li id="cite_note-IBM_Perf-9"><span class="mw-cite-backlink">^ <a href="#cite_ref-IBM_Perf_9-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-IBM_Perf_9-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text"><cite id="CITEREFAgrawal,_N.,_V._Prabhakaran,_T._Wobber,_J._D._Davis,_M._Manasse,_R._Panigrahy2008" class="citation book cs1">Agrawal, N., V. Prabhakaran, T. Wobber, J. D. Davis, M. Manasse, R. Panigrahy (June 2008). <i>Design Tradeoffs for SSD Performance</i>. <a href="Microsoft" title="Microsoft">Microsoft</a>. <a href="CiteSeerX_(identifier)" class="mw-redirect" title="CiteSeerX (identifier)">CiteSeerX</a> <span class="id-lock-free" title="Freely accessible"><a rel="nofollow" class="external text" href="https://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.141.1709">10.1.1.141.1709</a></span>.</cite><span class="cs1-maint citation-comment"><code class="cs1-code">{{cite book}}</code>: CS1 maint: multiple names: authors list (link)</span></span>
</li>
<li id="cite_note-10"><span class="mw-cite-backlink"><b><a href="#cite_ref-10">^</a></b></span> <span class="reference-text"><cite id="CITEREFCase2008" class="citation news cs1">Case, Loyd (2008-09-08). <a rel="nofollow" class="external text" href="http://www.extremetech.com/computing/80622-intel-x25-80gb-solidstate-drive-review">"Intel X25 80GB Solid-State Drive Review"</a>. <i>Extremetech</i><span class="reference-accessdate">. Retrieved <span class="nowrap">2011-07-28</span></span>.</cite></span>
</li>
<li id="cite_note-Zsolt_Silicon_Systems-11"><span class="mw-cite-backlink"><b><a href="#cite_ref-Zsolt_Silicon_Systems_11-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFKerekes" class="citation web cs1">Kerekes, Zsolt. <a rel="nofollow" class="external text" href="http://www.storagesearch.com/siliconsystems.html">"Western Digital Solid State Storage – formerly SiliconSystems"</a>. ACSL<span class="reference-accessdate">. Retrieved <span class="nowrap">2010-06-19</span></span>.</cite></span>
</li>
<li id="cite_note-OCZ_WA-12"><span class="mw-cite-backlink">^ <a href="#cite_ref-OCZ_WA_12-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-OCZ_WA_12-1"><sup><i><b>b</b></i></sup></a> <a href="#cite_ref-OCZ_WA_12-2"><sup><i><b>c</b></i></sup></a> <a href="#cite_ref-OCZ_WA_12-3"><sup><i><b>d</b></i></sup></a> <a href="#cite_ref-OCZ_WA_12-4"><sup><i><b>e</b></i></sup></a></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://web.archive.org/web/20121031053414/http://www.oczenterprise.com/whitepapers/ssds-write-amplification-trim-and-gc.pdf">"SSDs – Write Amplification, TRIM and GC"</a> <span class="cs1-format">(PDF)</span>. OCZ Technology. Archived from <a rel="nofollow" class="external text" href="http://www.oczenterprise.com/whitepapers/ssds-write-amplification-trim-and-gc.pdf">the original</a> <span class="cs1-format">(PDF)</span> on 2012-10-31<span class="reference-accessdate">. Retrieved <span class="nowrap">2012-11-13</span></span>.</cite></span>
</li>
<li id="cite_note-13"><span class="mw-cite-backlink"><b><a href="#cite_ref-13">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://www.intel.com/cd/channel/reseller/asmo-na/eng/products/nand/feature/index.htm">"Intel Solid State Drives"</a>. Intel<span class="reference-accessdate">. Retrieved <span class="nowrap">2010-05-31</span></span>.</cite></span>
</li>
<li id="cite_note-f7f8-14"><span class="mw-cite-backlink"><b><a href="#cite_ref-f7f8_14-0">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://web.archive.org/web/20230606053029/https://media-www.micron.com/-/media/client/global/documents/products/technical-note/solid-state-storage/tnfd23_m500_smart_attributes_calc_waf.pdf?rev=2e6d1f560a1548b3b6d4d8cf60335dca">"TN-FD-23: Calculating Write Amplification Factor"</a> <span class="cs1-format">(PDF)</span>. <i>Micron</i>. 2014. Archived from <a rel="nofollow" class="external text" href="https://media-www.micron.com/-/media/client/global/documents/products/technical-note/solid-state-storage/tnfd23_m500_smart_attributes_calc_waf.pdf?rev=2e6d1f560a1548b3b6d4d8cf60335dca">the original</a> <span class="cs1-format">(PDF)</span> on 6 June 2023<span class="reference-accessdate">. Retrieved <span class="nowrap">16 May</span> 2023</span>.</cite></span>
</li>
<li id="cite_note-Zsolt_WA-15"><span class="mw-cite-backlink">^ <a href="#cite_ref-Zsolt_WA_15-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-Zsolt_WA_15-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text"><cite id="CITEREFKerekes,_Zsolt" class="citation web cs1">Kerekes, Zsolt. <a rel="nofollow" class="external text" href="http://www.storagesearch.com/ssd-jargon.html">"Flash SSD Jargon Explained"</a>. ACSL<span class="reference-accessdate">. Retrieved <span class="nowrap">2010-05-31</span></span>.</cite></span>
</li>
<li id="cite_note-16"><span class="mw-cite-backlink"><b><a href="#cite_ref-16">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://web.archive.org/web/20110719170510/http://download.micron.com/pdf/technotes/nand/tn2917.pdf">"TN-29-17: NAND Flash Design and Use Considerations"</a> <span class="cs1-format">(PDF)</span>. Micron. 2006. Archived from <a rel="nofollow" class="external text" href="http://download.micron.com/pdf/technotes/nand/tn2917.pdf">the original</a> <span class="cs1-format">(PDF)</span> on 2011-07-19<span class="reference-accessdate">. Retrieved <span class="nowrap">2010-06-02</span></span>.</cite></span>
</li>
<li id="cite_note-Mehling_Garbage-17"><span class="mw-cite-backlink">^ <a href="#cite_ref-Mehling_Garbage_17-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-Mehling_Garbage_17-1"><sup><i><b>b</b></i></sup></a> <a href="#cite_ref-Mehling_Garbage_17-2"><sup><i><b>c</b></i></sup></a> <a href="#cite_ref-Mehling_Garbage_17-3"><sup><i><b>d</b></i></sup></a></span> <span class="reference-text"><cite id="CITEREFMehling2009" class="citation web cs1">Mehling, Herman (2009-12-01). <a rel="nofollow" class="external text" href="http://www.enterprisestorageforum.com/technology/features/article.php/3850436/Solid-State-Drives-Take-Out-the-Garbage.htm">"Solid State Drives Take Out the Garbage"</a>. Enterprise Storage Forum<span class="reference-accessdate">. Retrieved <span class="nowrap">2010-06-18</span></span>.</cite></span>
</li>
<li id="cite_note-Conley-18"><span class="mw-cite-backlink">^ <a href="#cite_ref-Conley_18-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-Conley_18-1"><sup><i><b>b</b></i></sup></a> <a href="#cite_ref-Conley_18-2"><sup><i><b>c</b></i></sup></a></span> <span class="reference-text"><cite id="CITEREFConley,_Kevin2010" class="citation web cs1">Conley, Kevin (2010-05-27). <a rel="nofollow" class="external text" href="http://blog.corsair.com/?p=3044">"Corsair Force Series SSDs: Putting a Damper on Write Amplification"</a>. Corsair.com<span class="reference-accessdate">. Retrieved <span class="nowrap">2010-06-18</span></span>.</cite></span>
</li>
<li id="cite_note-Layton-19"><span class="mw-cite-backlink">^ <a href="#cite_ref-Layton_19-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-Layton_19-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text"><cite id="CITEREFLayton2009" class="citation magazine cs1 cs1-prop-unfit">Layton, Jeffrey B. (2009-10-27). <a rel="nofollow" class="external text" href="https://web.archive.org/web/20091031090924/http://www.linux-mag.com/id/7590/2/">"Anatomy of SSDs"</a>. <i>Linux Magazine</i>. Archived from the original on October 31, 2009<span class="reference-accessdate">. Retrieved <span class="nowrap">2010-06-19</span></span>.</cite></span>
</li>
<li id="cite_note-Bell_Garbage-20"><span class="mw-cite-backlink"><b><a href="#cite_ref-Bell_Garbage_20-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFBell2010" class="citation web cs1">Bell, Graeme B. (2010). <a rel="nofollow" class="external text" href="https://web.archive.org/web/20140705081442/http://www.jdfsl.org/subscriptions/JDFSL-V5N3-Bell.pdf">"Solid State Drives: The Beginning of the End for Current Practice in Digital Forensic Recovery?"</a> <span class="cs1-format">(PDF)</span>. Journal of Digital Forensics, Security and Law. Archived from <a rel="nofollow" class="external text" href="http://www.jdfsl.org/subscriptions/JDFSL-V5N3-Bell.pdf">the original</a> <span class="cs1-format">(PDF)</span> on 2014-07-05<span class="reference-accessdate">. Retrieved <span class="nowrap">2012-04-02</span></span>.</cite></span>
</li>
<li id="cite_note-Christiansen-21"><span class="mw-cite-backlink">^ <a href="#cite_ref-Christiansen_21-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-Christiansen_21-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text"><cite id="CITEREFChristiansen,_Neal2009" class="citation web cs1">Christiansen, Neal (2009-09-14). <a rel="nofollow" class="external text" href="https://web.archive.org/web/20100326065117/http://www.snia.org/events/storage-developer2009/presentations/thursday/NealChristiansen_ATA_TrimDeleteNotification_Windows7.pdf">"ATA Trim/Delete Notification Support in Windows 7"</a> <span class="cs1-format">(PDF)</span>. Storage Developer Conference, 2009. Archived from <a rel="nofollow" class="external text" href="http://www.snia.org/events/storage-developer2009/presentations/thursday/NealChristiansen_ATA_TrimDeleteNotification_Windows7.pdf">the original</a> <span class="cs1-format">(PDF)</span> on 2010-03-26<span class="reference-accessdate">. Retrieved <span class="nowrap">2010-06-20</span></span>.</cite></span>
</li>
<li id="cite_note-SSD_Improv-22"><span class="mw-cite-backlink">^ <a href="#cite_ref-SSD_Improv_22-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-SSD_Improv_22-1"><sup><i><b>b</b></i></sup></a> <a href="#cite_ref-SSD_Improv_22-2"><sup><i><b>c</b></i></sup></a></span> <span class="reference-text"><cite id="CITEREFShimpi,_Anand_Lal2009" class="citation web cs1">Shimpi, Anand Lal (2009-11-17). <a rel="nofollow" class="external text" href="https://web.archive.org/web/20100403222311/http://www.anandtech.com/show/2865">"The SSD Improv: Intel & Indilinx get TRIM, Kingston Brings Intel Down to $115"</a>. AnandTech.com. Archived from <a rel="nofollow" class="external text" href="http://www.anandtech.com/show/2865">the original</a> on April 3, 2010<span class="reference-accessdate">. Retrieved <span class="nowrap">2010-06-20</span></span>.</cite></span>
</li>
<li id="cite_note-Mehling_TRIM-23"><span class="mw-cite-backlink">^ <a href="#cite_ref-Mehling_TRIM_23-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-Mehling_TRIM_23-1"><sup><i><b>b</b></i></sup></a> <a href="#cite_ref-Mehling_TRIM_23-2"><sup><i><b>c</b></i></sup></a> <a href="#cite_ref-Mehling_TRIM_23-3"><sup><i><b>d</b></i></sup></a> <a href="#cite_ref-Mehling_TRIM_23-4"><sup><i><b>e</b></i></sup></a> <a href="#cite_ref-Mehling_TRIM_23-5"><sup><i><b>f</b></i></sup></a> <a href="#cite_ref-Mehling_TRIM_23-6"><sup><i><b>g</b></i></sup></a></span> <span class="reference-text"><cite id="CITEREFMehling2010" class="citation web cs1">Mehling, Herman (2010-01-27). <a rel="nofollow" class="external text" href="http://www.enterprisestorageforum.com/technology/features/article.php/3861181/Solid-State-Drives-Get-Faster-with-TRIM.htm">"Solid State Drives Get Faster with TRIM"</a>. Enterprise Storage Forum<span class="reference-accessdate">. Retrieved <span class="nowrap">2010-06-20</span></span>.</cite></span>
</li>
<li id="cite_note-24"><span class="mw-cite-backlink"><b><a href="#cite_ref-24">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://osxdaily.com/2012/01/03/enable-trim-all-ssd-mac-os-x-lion/">"Enable TRIM for All SSD's [sic] in Mac OS X Lion"</a>. osxdaily.com. 2012-01-03<span class="reference-accessdate">. Retrieved <span class="nowrap">2012-08-14</span></span>.</cite></span>
</li>
<li id="cite_note-25"><span class="mw-cite-backlink"><b><a href="#cite_ref-25">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://www.freebsd.org/releases/8.1R/relnotes-detailed.html#DISKS">"FreeBSD 8.1-RELEASE Release Notes"</a>. <i>FreeBSD.org</i>.</cite></span>
</li>
<li id="cite_note-26"><span class="mw-cite-backlink"><b><a href="#cite_ref-26">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://kernelnewbies.org/Linux_2_6_33#head-b9b8a40358aaef60a61fcf12e9055900709a1cfb">"Linux 2.6.33 Features"</a>. <i>KernelNewbies.org</i>. 2010-02-04<span class="reference-accessdate">. Retrieved <span class="nowrap">2010-07-23</span></span>.</cite></span>
</li>
<li id="cite_note-Jim_Bagley-27"><span class="mw-cite-backlink">^ <a href="#cite_ref-Jim_Bagley_27-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-Jim_Bagley_27-1"><sup><i><b>b</b></i></sup></a> <a href="#cite_ref-Jim_Bagley_27-2"><sup><i><b>c</b></i></sup></a> <a href="#cite_ref-Jim_Bagley_27-3"><sup><i><b>d</b></i></sup></a></span> <span class="reference-text"><cite id="CITEREFBagley,_Jim2009" class="citation web cs1">Bagley, Jim (2009-07-01). <a rel="nofollow" class="external text" href="https://web.archive.org/web/20090902214044/http://www.plianttechnology.com/pdf/SSG-NOW_SSD_Flash_Bulletin_July_2009.pdf#page=2">"Managing data migration, Tier 1 to SSD Tier 0: Over-provisioning: a winning strategy or a retreat?"</a> <span class="cs1-format">(PDF)</span>. <i>plianttechnology.com</i>. p. 2. Archived from <a rel="nofollow" class="external text" href="http://www.plianttechnology.com/pdf/SSG-NOW_SSD_Flash_Bulletin_July_2009.pdf#page=2">the original</a> <span class="cs1-format">(PDF)</span> on 2009-09-02<span class="reference-accessdate">. Retrieved <span class="nowrap">2016-06-21</span></span>.</cite></span>
</li>
<li id="cite_note-Drossel-28"><span class="mw-cite-backlink">^ <a href="#cite_ref-Drossel_28-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-Drossel_28-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text"><cite id="CITEREFDrossel2009" class="citation web cs1">Drossel, Gary (2009-09-14). <a rel="nofollow" class="external text" href="http://www.snia.org/events/storage-developer2009/presentations/wednesday/GaryDrossel_Methodologies_SSD_Usable_Life.pdf">"Methodologies for Calculating SSD Useable Life"</a> <span class="cs1-format">(PDF)</span>. Storage Developer Conference, 2009<span class="reference-accessdate">. Retrieved <span class="nowrap">2010-06-20</span></span>.</cite></span>
</li>
<li id="cite_note-Smith_2012-29"><span class="mw-cite-backlink">^ <a href="#cite_ref-Smith_2012_29-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-Smith_2012_29-1"><sup><i><b>b</b></i></sup></a> <a href="#cite_ref-Smith_2012_29-2"><sup><i><b>c</b></i></sup></a> <a href="#cite_ref-Smith_2012_29-3"><sup><i><b>d</b></i></sup></a></span> <span class="reference-text"><cite id="CITEREFSmith2011" class="citation web cs1">Smith, Kent (2011-08-01). <a rel="nofollow" class="external text" href="http://www.flashmemorysummit.com/English/Collaterals/Proceedings/2012/20120822_TE21_Smith.pdf">"Understanding SSD Over-provisioning"</a> <span class="cs1-format">(PDF)</span>. <i>FlashMemorySummit.com</i>. p. 14<span class="reference-accessdate">. Retrieved <span class="nowrap">2012-12-03</span></span>.</cite></span>
</li>
<li id="cite_note-Anand_Spare_Area-30"><span class="mw-cite-backlink"><b><a href="#cite_ref-Anand_Spare_Area_30-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFShimpi,_Anand_Lal2010" class="citation web cs1">Shimpi, Anand Lal (2010-05-03). <a rel="nofollow" class="external text" href="https://web.archive.org/web/20100506021038/http://www.anandtech.com/show/3690/the-impact-of-spare-area-on-sandforce-more-capacity-at-no-performance-loss">"The Impact of Spare Area on SandForce, More Capacity At No Performance Loss?"</a>. AnandTech.com. p. 2. Archived from <a rel="nofollow" class="external text" href="http://www.anandtech.com/show/3690/the-impact-of-spare-area-on-sandforce-more-capacity-at-no-performance-loss">the original</a> on May 6, 2010<span class="reference-accessdate">. Retrieved <span class="nowrap">2010-06-19</span></span>.</cite></span>
</li>
<li id="cite_note-31"><span class="mw-cite-backlink"><b><a href="#cite_ref-31">^</a></b></span> <span class="reference-text"><cite id="CITEREFOBrien2012" class="citation web cs1">OBrien, Kevin (2012-02-06). <a rel="nofollow" class="external text" href="http://www.storagereview.com/intel_ssd_520_enterprise_review">"Intel SSD 520 Enterprise Review"</a>. <i>Storage Review</i><span class="reference-accessdate">. Retrieved <span class="nowrap">2012-11-29</span></span>. <q>20% over-provisioning adds substantial performance in all profiles with write activity</q></cite></span>
</li>
<li id="cite_note-32"><span class="mw-cite-backlink"><b><a href="#cite_ref-32">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://web.archive.org/web/20111125012226/http://cache-www.intel.com/cd/00/00/45/95/459555_459555.pdf">"White Paper: Over-Provisioning an Intel SSD"</a> <span class="cs1-format">(PDF)</span>. Intel. 2010. Archived from <a rel="nofollow" class="external text" href="http://cache-www.intel.com/cd/00/00/45/95/459555_459555.pdf">the original</a> <span class="cs1-format">(PDF)</span> on November 25, 2011<span class="reference-accessdate">. Retrieved <span class="nowrap">2012-11-29</span></span>.</cite> <a rel="nofollow" class="external text" href="https://web.archive.org/web/20130413212749/http://www.matrix44.net/cms/wp-content/uploads/2011/07/intel_over_provisioning.pdf">Alt URL</a></span>
</li>
<li id="cite_note-AnandTech_Ant-33"><span class="mw-cite-backlink"><b><a href="#cite_ref-AnandTech_Ant_33-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFShimpi,_Anand_Lal2009" class="citation web cs1">Shimpi, Anand Lal (2009-03-18). <a rel="nofollow" class="external text" href="http://www.anandtech.com/print/0">"The SSD Anthology: Understanding SSDs and New Drives from OCZ"</a>. AnandTech.com. p. 9<span class="reference-accessdate">. Retrieved <span class="nowrap">2010-06-20</span></span>.</cite></span>
</li>
<li id="cite_note-AnandTech_Anthology_11-34"><span class="mw-cite-backlink"><b><a href="#cite_ref-AnandTech_Anthology_11_34-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFShimpi,_Anand_Lal2009" class="citation web cs1">Shimpi, Anand Lal (2009-03-18). <a rel="nofollow" class="external text" href="https://web.archive.org/web/20100428070547/http://www.anandtech.com/print/2738">"The SSD Anthology: Understanding SSDs and New Drives from OCZ"</a>. AnandTech.com. p. 11. Archived from <a rel="nofollow" class="external text" href="http://www.anandtech.com/print/2738">the original</a> on April 28, 2010<span class="reference-accessdate">. Retrieved <span class="nowrap">2010-06-20</span></span>.</cite></span>
</li>
<li id="cite_note-Malventano-35"><span class="mw-cite-backlink">^ <a href="#cite_ref-Malventano_35-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-Malventano_35-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text"><cite id="CITEREFMalventano,_Allyn2009" class="citation web cs1">Malventano, Allyn (2009-02-13). <a rel="nofollow" class="external text" href="https://web.archive.org/web/20100221171556/http://www.pcper.com/article.php?aid=669&type=expert&pid=6">"Long-term performance analysis of Intel Mainstream SSDs"</a>. PC Perspective. Archived from <a rel="nofollow" class="external text" href="http://www.pcper.com/article.php?aid=669&type=expert&pid=6">the original</a> on 2010-02-21<span class="reference-accessdate">. Retrieved <span class="nowrap">2010-06-20</span></span>.</cite></span>
</li>
<li id="cite_note-HDDERASE-36"><span class="mw-cite-backlink"><b><a href="#cite_ref-HDDERASE_36-0">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://web.archive.org/web/20120702141928/http://cmrr.ucsd.edu/people/Hughes/SecureErase.shtml">"CMRR – Secure Erase"</a>. CMRR. Archived from <a rel="nofollow" class="external text" href="http://cmrr.ucsd.edu/people/Hughes/SecureErase.shtml">the original</a> on 2012-07-02<span class="reference-accessdate">. Retrieved <span class="nowrap">2010-06-21</span></span>.</cite></span>
</li>
<li id="cite_note-37"><span class="mw-cite-backlink"><b><a href="#cite_ref-37">^</a></b></span> <span class="reference-text"><cite id="CITEREFOCZ_Technology2011" class="citation web cs1">OCZ Technology (2011-09-07). <a rel="nofollow" class="external text" href="https://web.archive.org/web/20120107194502/http://www.ocztechnology.com/blog/?p=367">"How to Secure Erase Your OCZ SSD Using a Bootable Linux CD"</a>. Archived from <a rel="nofollow" class="external text" href="http://www.ocztechnology.com/blog/?p=367">the original</a> on 2012-01-07<span class="reference-accessdate">. Retrieved <span class="nowrap">2014-12-13</span></span>.</cite></span>
</li>
<li id="cite_note-38"><span class="mw-cite-backlink"><b><a href="#cite_ref-38">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://web.archive.org/web/20110410193050/http://www.anandtech.com/show/4244/intel-ssd-320-review/2">"The Intel SSD 320 Review: 25nm G3 is Finally Here"</a>. anandtech. Archived from <a rel="nofollow" class="external text" href="http://www.anandtech.com/show/4244/intel-ssd-320-review/2">the original</a> on April 10, 2011<span class="reference-accessdate">. Retrieved <span class="nowrap">2011-06-29</span></span>.</cite></span>
</li>
<li id="cite_note-39"><span class="mw-cite-backlink"><b><a href="#cite_ref-39">^</a></b></span> <span class="reference-text"><cite class="citation web cs1 cs1-prop-foreign-lang-source"><a rel="nofollow" class="external text" href="http://www.thomas-krenn.com/de/wiki/SSD_Secure_Erase#Ziele_eines_Secure_Erase">"SSD Secure Erase – Ziele eines Secure Erase"</a> [Secure Erase – Goals of the Secure Erase] (in German). Thomas-Krenn.AG. 2017-03-17<span class="reference-accessdate">. Retrieved <span class="nowrap">2018-01-08</span></span>.</cite></span>
</li>
<li id="cite_note-Li-Pin_Chang-40"><span class="mw-cite-backlink"><b><a href="#cite_ref-Li-Pin_Chang_40-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFChang,_Li-Pin2007" class="citation book cs1">Chang, Li-Pin (2007-03-11). <i>On Efficient Wear Leveling for Large Scale Flash Memory Storage Systems</i>. National ChiaoTung University, HsinChu, Taiwan. <a href="CiteSeerX_(identifier)" class="mw-redirect" title="CiteSeerX (identifier)">CiteSeerX</a> <span class="id-lock-free" title="Freely accessible"><a rel="nofollow" class="external text" href="https://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.103.4903">10.1.1.103.4903</a></span>.</cite></span>
</li>
<li id="cite_note-41"><span class="mw-cite-backlink"><b><a href="#cite_ref-41">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://www.intel.com/pressroom/archive/releases/2008/20080908comp.htm">"Intel Introduces Solid-State Drives for Notebook and Desktop Computers"</a>. Intel. 2008-09-08<span class="reference-accessdate">. Retrieved <span class="nowrap">2010-05-31</span></span>.</cite></span>
</li>
<li id="cite_note-42"><span class="mw-cite-backlink"><b><a href="#cite_ref-42">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://www.sandforce.com/userfiles/file/downloads/SFI_Launch_PR_Final.pdf">"SandForce SSD Processors Transform Mainstream Data Storage"</a> <span class="cs1-format">(PDF)</span>. SandForce. 2008-09-08<span class="reference-accessdate">. Retrieved <span class="nowrap">2010-05-31</span></span>.</cite></span>
</li>
</ol></div>
<div class="mw-heading mw-heading2"><h2 id="External_links">External links</h2></div>
<ul><li><span class="noviewer" typeof="mw:File"></span> Media related to <a href="https://commons.wikimedia.org/wiki/Category:Write_amplification" class="extiw external" title="commons:Category:Write amplification">Write amplification</a> at Wikimedia Commons</li></ul>
<div class="navbox-styles"><style data-mw-deduplicate="TemplateStyles:r1129693374">
/* start https://en.wikipedia.org/ */
.mw-parser-output .hlist dl,.mw-parser-output .hlist ol,.mw-parser-output .hlist ul{margin:0;padding:0}.mw-parser-output .hlist dd,.mw-parser-output .hlist dt,.mw-parser-output .hlist li{margin:0;display:inline}.mw-parser-output .hlist.inline,.mw-parser-output .hlist.inline dl,.mw-parser-output .hlist.inline ol,.mw-parser-output .hlist.inline ul,.mw-parser-output .hlist dl dl,.mw-parser-output .hlist dl ol,.mw-parser-output .hlist dl ul,.mw-parser-output .hlist ol dl,.mw-parser-output .hlist ol ol,.mw-parser-output .hlist ol ul,.mw-parser-output .hlist ul dl,.mw-parser-output .hlist ul ol,.mw-parser-output .hlist ul ul{display:inline}.mw-parser-output .hlist .mw-empty-li{display:none}.mw-parser-output .hlist dt::after{content:": "}.mw-parser-output .hlist dd::after,.mw-parser-output .hlist li::after{content:" · ";font-weight:bold}.mw-parser-output .hlist dd:last-child::after,.mw-parser-output .hlist dt:last-child::after,.mw-parser-output .hlist li:last-child::after{content:none}.mw-parser-output .hlist dd dd:first-child::before,.mw-parser-output .hlist dd dt:first-child::before,.mw-parser-output .hlist dd li:first-child::before,.mw-parser-output .hlist dt dd:first-child::before,.mw-parser-output .hlist dt dt:first-child::before,.mw-parser-output .hlist dt li:first-child::before,.mw-parser-output .hlist li dd:first-child::before,.mw-parser-output .hlist li dt:first-child::before,.mw-parser-output .hlist li li:first-child::before{content:" (";font-weight:normal}.mw-parser-output .hlist dd dd:last-child::after,.mw-parser-output .hlist dd dt:last-child::after,.mw-parser-output .hlist dd li:last-child::after,.mw-parser-output .hlist dt dd:last-child::after,.mw-parser-output .hlist dt dt:last-child::after,.mw-parser-output .hlist dt li:last-child::after,.mw-parser-output .hlist li dd:last-child::after,.mw-parser-output .hlist li dt:last-child::after,.mw-parser-output .hlist li li:last-child::after{content:")";font-weight:normal}.mw-parser-output .hlist ol{counter-reset:listitem}.mw-parser-output .hlist ol>li{counter-increment:listitem}.mw-parser-output .hlist ol>li::before{content:" "counter(listitem)"\a0 "}.mw-parser-output .hlist dd ol>li:first-child::before,.mw-parser-output .hlist dt ol>li:first-child::before,.mw-parser-output .hlist li ol>li:first-child::before{content:" ("counter(listitem)"\a0 "}
/* end https://en.wikipedia.org/ */
</style><style data-mw-deduplicate="TemplateStyles:r1236075235">
/* start https://en.wikipedia.org/ */
.mw-parser-output .navbox{box-sizing:border-box;border:1px solid #a2a9b1;width:100%;clear:both;font-size:88%;text-align:center;padding:1px;margin:1em auto 0}.mw-parser-output .navbox .navbox{margin-top:0}.mw-parser-output .navbox+.navbox,.mw-parser-output .navbox+.navbox-styles+.navbox{margin-top:-1px}.mw-parser-output .navbox-inner,.mw-parser-output .navbox-subgroup{width:100%}.mw-parser-output .navbox-group,.mw-parser-output .navbox-title,.mw-parser-output .navbox-abovebelow{padding:0.25em 1em;line-height:1.5em;text-align:center}.mw-parser-output .navbox-group{white-space:nowrap;text-align:right}.mw-parser-output .navbox,.mw-parser-output .navbox-subgroup{background-color:#fdfdfd}.mw-parser-output .navbox-list{line-height:1.5em;border-color:#fdfdfd}.mw-parser-output .navbox-list-with-group{text-align:left;border-left-width:2px;border-left-style:solid}.mw-parser-output tr+tr>.navbox-abovebelow,.mw-parser-output tr+tr>.navbox-group,.mw-parser-output tr+tr>.navbox-image,.mw-parser-output tr+tr>.navbox-list{border-top:2px solid #fdfdfd}.mw-parser-output .navbox-title{background-color:#ccf}.mw-parser-output .navbox-abovebelow,.mw-parser-output .navbox-group,.mw-parser-output .navbox-subgroup .navbox-title{background-color:#ddf}.mw-parser-output .navbox-subgroup .navbox-group,.mw-parser-output .navbox-subgroup .navbox-abovebelow{background-color:#e6e6ff}.mw-parser-output .navbox-even{background-color:#f7f7f7}.mw-parser-output .navbox-odd{background-color:transparent}.mw-parser-output .navbox .hlist td dl,.mw-parser-output .navbox .hlist td ol,.mw-parser-output .navbox .hlist td ul,.mw-parser-output .navbox td.hlist dl,.mw-parser-output .navbox td.hlist ol,.mw-parser-output .navbox td.hlist ul{padding:0.125em 0}.mw-parser-output .navbox .navbar{display:block;font-size:100%}.mw-parser-output .navbox-title .navbar{float:left;text-align:left;margin-right:0.5em}body.skin--responsive .mw-parser-output .navbox-image img{max-width:none!important}@media print{body.ns-0 .mw-parser-output .navbox{display:none!important}}
/* end https://en.wikipedia.org/ */
</style></div><div role="navigation" class="navbox" aria-labelledby="Solid-state_drives316" style="padding:3px"><table class="nowraplinks hlist mw-collapsible mw-collapsed navbox-inner" style="border-spacing:0;background:transparent;color:inherit"><tbody><tr><th scope="col" class="navbox-title" colspan="2"><style data-mw-deduplicate="TemplateStyles:r1239400231">
/* start https://en.wikipedia.org/ */
.mw-parser-output .navbar{display:inline;font-size:88%;font-weight:normal}.mw-parser-output .navbar-collapse{float:left;text-align:left}.mw-parser-output .navbar-boxtext{word-spacing:0}.mw-parser-output .navbar ul{display:inline-block;white-space:nowrap;line-height:inherit}.mw-parser-output .navbar-brackets::before{margin-right:-0.125em;content:"[ "}.mw-parser-output .navbar-brackets::after{margin-left:-0.125em;content:" ]"}.mw-parser-output .navbar li{word-spacing:-0.125em}.mw-parser-output .navbar a>span,.mw-parser-output .navbar a>abbr{text-decoration:inherit}.mw-parser-output .navbar-mini abbr{font-variant:small-caps;border-bottom:none;text-decoration:none;cursor:inherit}.mw-parser-output .navbar-ct-full{font-size:114%;margin:0 7em}.mw-parser-output .navbar-ct-mini{font-size:114%;margin:0 4em}html.skin-theme-clientpref-night .mw-parser-output .navbar li a abbr{color:var(--color-base)!important}@media(prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .navbar li a abbr{color:var(--color-base)!important}}@media print{.mw-parser-output .navbar{display:none!important}}
/* end https://en.wikipedia.org/ */
</style><div id="Solid-state_drives316" style="font-size:114%;margin:0 4em"><a href="Solid-state_drive" title="Solid-state drive">Solid-state drives</a></div></th></tr><tr><th scope="row" class="navbox-group" style="width:1%">Key terminology</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Encryption" title="Encryption">Encryption</a></li>
<li><a href="Error_detection_and_correction" title="Error detection and correction">ECC</a></li>
<li><a href="Flash_file_system" title="Flash file system">Flash file system</a></li>
<li><a href="Flash_memory" title="Flash memory">Flash memory</a></li>
<li><a href="Multi-level_cell" title="Multi-level cell">SLC/MLC</a></li>
<li><a href="Flash_memory_controller" title="Flash memory controller">Flash memory controller</a></li>
<li><a href="Garbage_collection_(SSD)" class="mw-redirect" title="Garbage collection (SSD)">Garbage collection</a></li>
<li><a href="IOPS" title="IOPS">IOPS</a></li>
<li><a href="Bit_rate" title="Bit rate">MB/s</a></li>
<li><a href="Flash_memory#Memory_wear" title="Flash memory">Memory wear</a></li>
<li><a href="Open-channel_SSD" title="Open-channel SSD">Open-channel SSD</a></li>
<li><a class="mw-selflink-fragment" href="#Over-provisioning">Over-provisioning</a></li>
<li><a href="Flash_memory#Read_disturb" title="Flash memory">Read disturb</a></li>
<li><a class="mw-selflink-fragment" href="#Secure_erase">Secure erase</a></li>
<li><a href="Solid-state_storage" title="Solid-state storage">Solid-state storage</a></li>
<li><a href="Trim_(computing)" title="Trim (computing)">Trim command</a></li>
<li><a href="Wear_leveling" title="Wear leveling">Wear leveling</a></li>
</ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Flash manufacturers</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Micron_Technology" title="Micron Technology">Micron</a></li>
<li><a href="Samsung_Electronics" title="Samsung Electronics">Samsung</a></li>
<li><a href="SK_Hynix" title="SK Hynix">SK Hynix</a>
<ul><li>Bought <a href="Intel" title="Intel">Intel</a>'s NAND flash chips and NAND flash SSD businesses and renamed the SSD business as Solidigm</li></ul></li>
<li>Flash Forward (joint venture between <a href="Sandisk" title="Sandisk">Sandisk</a> and <a href="Kioxia" title="Kioxia">Kioxia</a>)</li>
<li><a href="Yangtze_Memory_Technologies" title="Yangtze Memory Technologies">YMTC</a>
<ul><li><a href="XMC_(company)" title="XMC (company)">XMC</a></li></ul></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="List_of_flash_memory_controller_manufacturers" title="List of flash memory controller manufacturers">Controllers</a></th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks navbox-subgroup" style="border-spacing:0"><tbody><tr><th scope="row" class="navbox-group" style="width:1%">Captive</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Sandisk" title="Sandisk">Sandisk</a>
<ul><li><a href="Western_Digital" title="Western Digital">Western Digital</a></li>
<li><a href="Fusion-io" title="Fusion-io">Fusion-io</a></li>
<li><a href="HGST" title="HGST">HGST</a></li>
<li><a href="STec" title="STec">sTec</a></li></ul></li>
<li><a href="Kioxia" title="Kioxia">Kioxia</a>
<ul><li><a href="OCZ" title="OCZ">OCZ</a> (bankrupt, assets sold to Toshiba, which later spun off its SSD and flash business to Kioxia)</li>
<li><a href="Indilinx" title="Indilinx">Indilinx</a> (bought by OCZ)</li></ul></li>
<li><a href="Micron_Technology" title="Micron Technology">Micron</a></li>
<li><a href="Samsung_Electronics" title="Samsung Electronics">Samsung</a></li>
<li><a href="Seagate_Technology" title="Seagate Technology">Seagate</a>
<ul><li><a href="SandForce" title="SandForce">SandForce</a></li></ul></li>
<li><a href="SK_Hynix" title="SK Hynix">SK Hynix</a>
<ul><li>Bought <a href="Intel" title="Intel">Intel</a>'s NAND flash chips and NAND flash SSD businesses including controllers and renamed the SSD business Solidigm</li></ul></li>
<li>FADU</li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Independent</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Greenliant_Systems" title="Greenliant Systems">Greenliant Systems</a></li>
<li>Goke</li>
<li><a href="JMicron" title="JMicron">Maxiotek</a></li>
<li><a href="Marvell_Technology_Group" class="mw-redirect" title="Marvell Technology Group">Marvell</a></li>
<li><a href="Phison" title="Phison">Phison</a></li>
<li><a href="PMC-Sierra" title="PMC-Sierra">PMC-Sierra</a></li>
<li><a href="Silicon_Motion" title="Silicon Motion">SMI</a></li></ul>
</div></td></tr></tbody></table><div></div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">SSD manufacturers</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="List_of_solid-state_drive_manufacturers" title="List of solid-state drive manufacturers">List of solid-state drive manufacturers</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Interfaces</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Advanced_Host_Controller_Interface" title="Advanced Host Controller Interface">Advanced Host Controller Interface</a> (AHCI)</li>
<li><a href="Fibre_Channel" title="Fibre Channel">Fibre Channel</a> (FC)</li>
<li><a href="NVM_Express" title="NVM Express">NVM Express</a> (NVMe)</li>
<li><a href="PCI_Express" title="PCI Express">PCI Express</a> (PCIe)</li>
<li><a href="SATA_Express" title="SATA Express">SATA Express</a></li>
<li><a href="Serial_ATA" class="mw-redirect" title="Serial ATA">Serial ATA</a> (SATA)</li>
<li><a href="Serial_attached_SCSI" class="mw-redirect" title="Serial attached SCSI">Serial attached SCSI</a> (SAS)</li>
<li><a href="USB" title="USB">Universal Serial Bus</a> (USB)</li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Configurations</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Hard_disk_drive#Form_factors" title="Hard disk drive">HDD form factors</a></li>
<li><a href="MSATA" class="mw-redirect" title="MSATA">mSATA</a></li>
<li><a href="M.2" title="M.2">M.2</a></li>
<li><a href="PCI_Express" title="PCI Express">PCI Express</a> <a href="Expansion_card" title="Expansion card">expansion card</a></li>
<li><a href="Thunderbolt_(interface)" title="Thunderbolt (interface)">Thunderbolt</a>
<ul><li><a href="USB-C" title="USB-C">USB Type-C</a></li></ul></li>
<li><a href="U.2" title="U.2">U.2</a></li>
<li><a href="U.3" class="mw-redirect" title="U.3">U.3</a></li>
<li><a href="EDSFF" class="mw-redirect" title="EDSFF">EDSFF</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Related organizations</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="International_Committee_for_Information_Technology_Standards" title="International Committee for Information Technology Standards">INCITS</a></li>
<li><a href="JEDEC" title="JEDEC">JEDEC / JC-42, JC-64.8</a></li>
<li><a href="Open_NAND_Flash_Interface_Working_Group" title="Open NAND Flash Interface Working Group">ONFI</a></li>
<li><a href="NVM_Express#History" title="NVM Express">NVMHCI Work Group</a></li>
<li><a href="USB_Implementers_Forum" title="USB Implementers Forum">USB-IF</a></li>
<li><a href="Serial_ATA_International_Organization" title="Serial ATA International Organization">SATA-IO</a></li>
<li><a href="Small_Form_Factor_Committee" title="Small Form Factor Committee">SFF Committee</a></li>
<li><a href="Storage_Networking_Industry_Association" title="Storage Networking Industry Association">SNIA</a></li>
<li><a href="Solid_state_storage_initiative" class="mw-redirect" title="Solid state storage initiative">SSSI</a></li>
<li><a href="SCSI" title="SCSI">T10/SCSI</a></li>
<li><a href="Fibre_Channel" title="Fibre Channel">T11/FC</a></li>
<li><a href="Parallel_ATA" title="Parallel ATA">T13/ATA</a></li></ul>
</div></td></tr><tr><td class="navbox-abovebelow" colspan="2"><div>
<ul><li><span class="noviewer" typeof="mw:File"><span title="Category"></span></span> <b>Category</b></li></ul>
</div></td></tr></tbody></table></div>
<p class="mw-empty-elt">
</p></div><!--htdig_noindex--><div><div class="zim-footer">
This article is issued from <a class="external text" title="Last edited on 2025-08-06" href="https://en.wikipedia.org/wiki/?title=Write_amplification&oldid=1304465456">Wikipedia</a>. The text is available under <a class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.en">Creative Commons Attribution-Share Alike 4.0</a> unless otherwise noted. Additional terms may apply for the media files.
</div>
</div><!--/htdig_noindex--></div>
</div>
</main>
</div>
</div>
</div>
</body></html>